\chapter{Evolución y Obtención de Parámetros}
\label{app:resultados}
A continuación se muestran algunos resultados que se fueron obteniendo a lo
largo del desarrollo y optimización del algoritmo presentado en la sección
\ref{pseudo}.
La evolución se puede entender en dos etapas. La primera consistió en pruebas iniciales y generales
para observar el comportamiento del algoritmo a medida que se le iban realizando 
mejoras y probando con diversas implementaciones de crossovers y mutaciones.  
La segunda etapa consistió en ajustes y mejoras con sets de datos más grandes.\\

En cada una de las pruebas expuestas se menciona de manera resumida las
principales modificaciones hechas al algoritmo, así como también la
configuración de parámetros.

\section{Etapa I}

Se realizaron pruebas en rompecabezas de $5\times5$ y $10\times10$. Se tomó el
promedio de 3 corridas en poblaciones de 50, 100 y 200 individuos.\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
\noindent Operaciones de mutación:
\begin{itemize}
\item Rotar: Rota una pieza 90º a la derecha
\item Swap: Intercambia dos piezas del tablero respetando bordes con bordes y esquinas con esquinas. Además rota los bordes y las esquinas para que los lados bordes de las fichas coincidan con el tablero.
\end{itemize}
\noindent Operaciones crossover:
\begin{itemize}
  \item SimpleCrossover: selecciona de forma aleatoria la mitad de las
fichas de un tablero y las cruza al otro. Esta operación se implementó de forma tal que no rompa la integridad de las soluciones, es decir, toma soluciones legales y retorna una solución legal.
La selección de los individuos se realiza mediante la técnica Roulette Wheel Selection.
\end{itemize}

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutación:	&	 20\%	\\
Crossover: 					&	SimpleCrossover:  50\% de fichas	\\
Mutación 1: 				&	Rotar (p 1/2) 	\\
Mutación 2:					& Swap (p 1/2)	\\
Selección:  				& Roulette: 50\% seleccionados	\\
Reemplazo: 					& Menor fitness (50\% población)	\\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{5x5}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{10x10}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
50 & 2000 & 34 & 33 & 0,4 & 112 & 109,33 & 1,13 \\ 
50 & 4000 & 32 & 32 & 0,5 & 121 & 117 & 1,89 \\ 
50 & 8000 & 36 & 34,67 & 0,95 & 121 & 117,33 & 3,63 \\ 
50 & 16000 & 34 & 33,67 & 1,87 & 128 & 123,33 & 7,15 \\ 
50 & 32000 & 35 & 33,33 & 3,75 & 127 & 125,33 & 14,33 \\ 
50 & 64000 & 36 & 35,33 & 7,51 & 132 & 129,67 & 28,75 \\ 
100 & 2000 & 33 & 32,33 & 0,51 & 118 & 115,67 & 1,89 \\ 
100 & 4000 & 35 & 33,33 & 0,98 & 116 & 115 & 3,63 \\ 
100 & 8000 & 34 & 33 & 1,95 & 129 & 125 & 7,29 \\ 
100 & 16000 & 36 & 34 & 3,91 & 126 & 125 & 14,53 \\ 
100 & 32000 & 35 & 34 & 7,83 & 131 & 129,67 & 29,04 \\ 
100 & 64000 & 35 & 34,67 & 15,71 & 134 & 130,33 & 58,16 \\ 
200 & 2000 & 35 & 34,67 & 1,07 & 126 & 123,67 & 3,9 \\ 
200 & 4000 & 36 & 35,33 & 2,11 & 127 & 124,33 & 7,82 \\ 
200 & 8000 & 36 & 34,67 & 4,21 & 130 & 125,67 & 15,32 \\ 
200 & 16000 & 36 & 34,33 & 8,48 & 131 & 127 & 30,43 \\ 
200 & 32000 & 37 & 36,67 & 16,84 & 132 & 130,33 & 60,77 \\ 
200 & 64000 & 36 & 34,67 & 33,64 & 136 & 131,67 & 121,48 \\ 
\hline
\end{tabular}
\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Se agrega el crossover ShortestPathCrossover: Busca un camino mínimo entre dos piezas dentro de un rompecabezas. El peso de los ejes se  calcula en función de la coincidencia de bordes entre piezas.
Una vez encontrado el camino, el mismo es llevado al otro rompecabezas para generar la solución hija. No rompe la integridad de las soluciones.
La idea es que en el cruce de soluciones se intercambie una parte del rompecabezas que se encuentra bien armada en función de la coincidencia de bordes.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutación: 	&20\%	\\
Crossover 1: 			&SimpleCrossover 50\% de fichas (p 8/10)	\\
Crossover 2: 			&ShortestPathCrossover (p 2/10)	\\
Mutación 1: 			&Rotar (p 1/2)	\\
Mutación 2:			&Swap (p 1/2)	\\
Selección: 			&Roulette: 50\% seleccionados	\\ 
Reemplazo: 			&Menor fitness: (50\% población)	\\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{5x5}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{10x10}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
50 & 2000 & 36 & 34,33 & 0,94 & 113 & 111,67 & 5,34 \\ 
50 & 4000 & 34 & 33,67 & 1,33 & 124 & 119,67 & 10,31 \\ 
50 & 8000 & 35 & 33,67 & 2,6 & 118 & 115,67 & 20,33 \\ 
50 & 16000 & 33 & 32,67 & 5,2 & 130 & 125,67 & 40,91 \\ 
50 & 32000 & 35 & 34 & 10,43 & 129 & 124 & 81,29 \\ 
50 & 64000 & 34 & 33,67 & 20,8 & 133 & 131 & 160,05 \\ 
100 & 2000 & 36 & 34,33 & 1,34 & 124 & 116 & 10,29 \\ 
100 & 4000 & 35 & 34,33 & 2,64 & 117 & 117 & 20,95 \\ 
100 & 8000 & 36 & 35,33 & 5,25 & 128 & 124,67 & 40,98 \\ 
100 & 16000 & 37 & 35,67 & 10,44 & 129 & 124 & 82,54 \\ 
100 & 32000 & 35 & 34 & 21,01 & 134 & 130 & 161,39 \\ 
100 & 64000 & 35 & 34,67 & 42,05 & 133 & 131,33 & 323,98 \\ 
200 & 2000 & 37 & 35 & 2,74 & 124 & 118 & 21,03 \\ 
200 & 4000 & 36 & 35,33 & 5,44 & 129 & 125,33 & 41,51 \\ 
200 & 8000 & 35 & 34 & 10,94 & 125 & 124 & 83,02 \\ 
200 & 16000 & 36 & 34,67 & 21,81 & 131 & 128,67 & 163,77 \\ 
200 & 32000 & 35 & 34 & 43,81 & 133 & 129 & 329,02 \\ 
200 & 64000 & 36 & 35,33 & 86,62 & 133 & 130,33 & 656,29 \\ \hline
\end{tabular}
\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Se implementan las mutaciones Column Exchange y Row Exchange 
intercambiando dos columnas o dos filas respectivamente dentro de una solución.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutacion: 	&20\%	\\
Crossover 1: 			&SimpleCrossover (p 8/10)	\\
Crossover 2: 			&ShortestPathCrossover (p 2/10)	\\
Mutación 1: 			&Rotar (p 1/4)	\\
Mutación 2: 			 &Swap (p 1/4)	\\
Mutación 3: 			 &Column Exchange (p 1/4)	\\
Mutación 4: 			 &Row Exchange (p 1/4)	\\
Selección: 			&Roulette: 50\% seleccionados	\\
Reemplazo: 			&Menor fitness : (50\% población) \\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{5x5}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{10x10}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
50 & 2000 & 33 & 32 & 0,64 & 111 & 107,33 & 2,67 \\ 
50 & 4000 & 34 & 32,67 & 0,88 & 115 & 113 & 5,02 \\ 
50 & 8000 & 36 & 34,33 & 1,73 & 119 & 116,33 & 9,89 \\ 
50 & 16000 & 35 & 34 & 3,39 & 127 & 124 & 19,5 \\ 
50 & 32000 & 34 & 33,67 & 6,85 & 127 & 124,67 & 39,38 \\ 
50 & 64000 & 35 & 33,67 & 13,6 & 130 & 127,67 & 77,87 \\ 
100 & 2000 & 35 & 33,33 & 0,89 & 117 & 115 & 4,97 \\ 
100 & 4000 & 35 & 33,67 & 1,74 & 120 & 117,33 & 10 \\ 
100 & 8000 & 37 & 35 & 3,48 & 123 & 120,67 & 19,78 \\ 
100 & 16000 & 36 & 34,67 & 6,93 & 130 & 127,33 & 39,36 \\ 
100 & 32000 & 38 & 36,33 & 13,81 & 133 & 128,67 & 79,57 \\ 
100 & 64000 & 37 & 35,33 & 27,71 & 131 & 128 & 159,98 \\ 
200 & 2000 & 36 & 34,67 & 1,85 & 124 & 122 & 10,2 \\ 
200 & 4000 & 40 & 37 & 3,62 & 123 & 119 & 20,35 \\ 
200 & 8000 & 35 & 34,67 & 7,3 & 131 & 125 & 40,49 \\ 
200 & 16000 & 36 & 35,33 & 14,51 & 130 & 125,33 & 82,08 \\ 
200 & 32000 & 36 & 35,33 & 28,95 & 129 & 128,67 & 162,67 \\ 
200 & 64000 & 35 & 35 & 58,1 & 133 & 131,33 & 324,54 \\ \hline
\end{tabular}
\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Implementa el crossover RegionExchange: toma una región de una solución y genera una solución hija donde se preserva esa región, las demás piezas son de la otra solución. Se realizan las modificaciones necesarias para que el crossover no rompa la integridad de las soluciones.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutacion:	 &20\%	\\
Crossover 1: 			&SimpleCrossover (p 1/10)	\\
Crossover 2: 			&ShortestPathCrossover (p 1/10)	\\
Crossover 3: 			&RegionExchangeCrossover (p 8/10)	\\
Mutación 1:			 &Rotar (p 1/4)	\\
Mutación 2:			 &Swap (p 1/4)	\\
Mutación 3:			 &Column Exchange (p 1/4)	\\
Mutación 4:			 &Row Exchange (p 1/4)	\\
Selección: 			&Roulette: 50\% seleccionados	\\ 
Reemplazo: 			&Menor fitness: (50\% población)	\\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{5x5}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{10x10}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
50 & 2000 & 32 & 32 & 0,57 & 111 & 107,67 & 1,85 \\ 
50 & 4000 & 34 & 32,67 & 0,72 & 117 & 112,67 & 3,07 \\ 
50 & 8000 & 36 & 34 & 1,38 & 119 & 116,33 & 6,09 \\ 
50 & 16000 & 34 & 33 & 2,71 & 126 & 123,67 & 12,11 \\ 
50 & 32000 & 35 & 34,67 & 5,49 & 132 & 127,33 & 24,19 \\ 
50 & 64000 & 34 & 33 & 10,91 & 133 & 129 & 48,05 \\ 
100 & 2000 & 36 & 34 & 0,74 & 117 & 114,67 & 3,1 \\ 
100 & 4000 & 35 & 34 & 1,41 & 119 & 116,67 & 6,16 \\ 
100 & 8000 & 36 & 34,33 & 2,84 & 121 & 117 & 12,28 \\ 
100 & 16000 & 35 & 34 & 5,64 & 128 & 126,67 & 24,48 \\ 
100 & 32000 & 37 & 34,67 & 11,22 & 127 & 126 & 48,75 \\ 
100 & 64000 & 36 & 35 & 22,45 & 132 & 127,67 & 97,85 \\ 
200 & 2000 & 35 & 34,33 & 1,5 & 128 & 120,33 & 6,49 \\ 
200 & 4000 & 33 & 33 & 2,98 & 128 & 122,67 & 12,69 \\ 
200 & 8000 & 34 & 33,67 & 5,97 & 124 & 124 & 25,24 \\ 
200 & 16000 & 36 & 35 & 12,02 & 124 & 123,33 & 50,02 \\ 
200 & 32000 & 38 & 36,67 & 23,87 & 129 & 127,67 & 99,79 \\ 
200 & 64000 & 36 & 34,67 & 47,92 & 134 & 131,33 & 198,19 \\ \hline
\end{tabular}
\\

\section{Etapa II}
Se realizaron pruebas en rompecabezas de $10\times10$ y $16\times16$ (Eternity
II).
Se tomó el promedio de 3 corridas para una población de 50 individuos.


\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Se implementa una búsqueda local cada 10000 iteraciones. 
Consiste en tomar una solución de forma aleatoria y aplicar 
las operaciones Rotar y Swap para conseguir vecinos de esa solución. 
Luego se selecciona el mejor vecino y se repite la búsqueda.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutacion: 	&20\%	\\
Crossover 1: 			&SimpleCrossover 50\% de fichas (p 1/10)	\\
Crossover 2: 			&ShortestPathCrossover (p 1/10)	\\
Crossover 3: 			&RegionExchangeCrossover (p 8/10)	\\
Mutación 1 : 			&Rotar	\\
Mutación 2: 			 &Swap	\\
Mutación 3: 			 &Column Exchange	\\
Mutación 4: 			&Row Exchange	\\
HillClimbing: 			&10000 iteraciones; 10\% de la población	\\
Selección: 			&Roulette: 50\% seleccionados	\\ 
Reemplazo: 			&Menor fitness: (50\% población)	\\
Población:			&50	\\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{10x10}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{16x16}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
50 & 2000 & 110 & 105,33 & 1,49 & 204 & 199,33 & 5,53 \\ 
50 & 4000 & 121 & 114,67 & 2,56 & 233 & 227,67 & 10,67 \\ 
50 & 8000 & 122 & 118,67 & 5,01 & 246 & 243 & 21,41 \\ 
50 & 16000 & 140 & 139 & 13,56 & 315 & 309,67 & 51,32 \\ 
50 & 32000 & 144 & 140,67 & 30,6 & 325 & 322,67 & 111,48 \\ 
50 & 64000 & 146 & 144 & 60,53 & 331 & 329,67 & 222,93 \\	\hline 
\end{tabular}
\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Se quita el crossover ShortestPath, se incrementa la cantidad de elementos
reemplazados de la poblacion y se disminuye el tamaño de la población. También
se modifican los parámetros de HillClimbing para que sean relativos al tamaño
del problema.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutacion: 	&15\%	\\
Crossover:			&SimpleCrossover  (p 1/10)	\\
Crossover:			&RegionExchangeCrossover (p 9/10)	\\
Mutación 1: 			&Rotar (p 1/4)	\\
Mutación 2:			 &Swap (p 1/4)	\\
Mutación 3: 			&Column Exchange (1/4)	\\
Mutación 4:			 &Row Exchange  (1/4)	\\
HillClimbing: 			&vecinos: size, deep: size*10;  10\% población	\\
Selección: 			&Roulette: 50\% seleccionados \\
Reemplazo: 			&Menor fitness: 80\% población\\
Población:			&15\\
\end{tabular}
 
\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{10x10}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{16x16}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
15 & 2000 & 101 & 95,33 & 0,46 & 185 & 177,67 & 1 \\ 
15 & 4000 & 107 & 103,33 & 0,62 & 206 & 197,33 & 1,7 \\ 
15 & 8000 & 116 & 114 & 1,19 & 218 & 212,33 & 3,38 \\ 
15 & 16000 & 139 & 135,33 & 3,06 & 344 & 333,33 & 18,97 \\ 
15 & 32000 & 139 & 137,67 & 6,83 & 352 & 346,67 & 49,91 \\ 
15 & 64000 & 148 & 142,67 & 13,55 & 361 & 356 & 99,38 \\ 
15 & 128000 & 147 & 144 & 27,17 & 369 & 364 & 198,71 \\ 
15 & 256000 & 150 & 146 & 55,05 & 371 & 367,33 & 409,31 \\ \hline
\end{tabular}
\\

\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Algoritmo}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
Se modifica la búsqueda local para que sea muti-threading. Cada thread
re\-a\-li\-za una búsqueda local en una solución elegida de forma aleatoria. La
cantidad de threads ejecutados en simultáneo se calcula en función de los núcleos que tenga el procesador. Para el caso de estas pruebas se utilizó un procesador de dos núcleos, es decir, se toman dos soluciones y se les realiza búsqueda local en simultáneo.
Nueva mutación  SwapConRotacion: esta mutación reemplaza las mutaciones Swap y Rotar. Intercambia dos piezas de una solución y las rota lo necesario para maximizar la coincidencia de bordes.

\subsection*{Parámetros}
\begin{tabular}{r l}
Probabilidad de mutación:	&15\%	\\
Crossover:	 		&RegionExchangeCrossover	\\
Mutación 1:			 &SwapConRotacion (p 1/3)	\\
Mutación 2:			 &Column Exchange (p 1/3)	\\
Mutación 3:			 &Row Exchange (p 1/3)	\\
MultiThreadHillClimbing:	 &vecinos: size, deep:size*10	\\
Selección: 			&Roulette: 50\% seleccionados \\
Reemplazo: 			&Menor fitness: 80\% población	\\
Población:			&15	\\
\end{tabular}

\subsection*{Resultados}

\begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline
\multicolumn{1}{|l}{\textbf{ }} & \multicolumn{1}{l|}{\textbf{ }} & 
\multicolumn{1}{c}{\textbf{10x10}} & \multicolumn{1}{l}{} & 
\multicolumn{1}{l|}{} & \multicolumn{1}{c}{\textbf{16x16}} & 
\multicolumn{1}{l}{} & \multicolumn{1}{l|}{} \\
\multicolumn{1}{|l|}{\textbf{Pob.}} & \multicolumn{1}{l|}{\textbf{It.}} &
\multicolumn{1}{l|}{\textbf{Mejor F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$}
& \multicolumn{1}{l|}{$\mathbf{\bar{T}}$} & \multicolumn{1}{l|}{\textbf{Mejor
F}} & \multicolumn{1}{l|}{$\mathbf{\bar{F}}$} &
\multicolumn{1}{l|}{$\mathbf{\bar{T}}$}
\\ \hline
15 & 2000 & 126 & 121,33 & 0,43 & 234 & 228 & 0,96 \\ 
15 & 4000 & 128 & 124,67 & 0,63 & 262 & 258 & 1,5 \\ 
15 & 8000 & 131 & 128,67 & 1,17 & 290 & 282,33 & 2,94 \\ 
15 & 16000 & 156 & 153,33 & 3,41 & 385 & 383,67 & 22,75 \\ 
15 & 32000 & 157 & 155,67 & 7,94 & 397 & 394,67 & 62,66 \\ 
15 & 64000 & 159 & 157,67 & 15,78 & \textbf{405} & \textbf{402} & \textbf{124,23} \\ 
15 & 128000 & 161 & 159 & 31,42 & \textbf{413} & \textbf{409} & \textbf{247,24} \\ 
15 & 256000 & 161 & 159 & 65,33 & \textbf{419} & \textbf{411,67} &
\textbf{513,06} \\ \hline
\end{tabular}
\\

\chapter{Utilización del programa}
Para ejecutar el programa es necesario tener instalada una versión de Java
Runtime Environment (JRE) superior o igual a 1.6.\\

\noindent El siguiente comando lanza el programa:
\begin{verbatim}
java -jar E2Solver.jar [-informe]

-informe	
Ejecuta de manera completa un set de pruebas iterando sobre
las instancias 6x6, 7x7, 10x10, 12x12, 14x14, 16x16 probando con diferentes
cantidades de iteraciones y tamaños de población. Para cada combinacion
instancia, cantidad de iteracion, tamaño de poblacion se ejecutan 10 pruebas.
El resultado es mostrado por consola.
Esta opción NO levanta una interfaz gráfica.

\end{verbatim}

\noindent Ejemplo de ejecución normal que levanta la interfaz gráfica:
\begin{verbatim}
#java -jar E2Solver.jar
\end{verbatim}

\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{imagenes/programa.pdf}
\end{figure}

\noindent Ejemplo de ejecución del informe:
\begin{verbatim}
#java -jar E2Solver.jar -informe

poblacion,iteraciones,bestIndividual,duration,ES,VS,MaxPossible
Nombre: 10 Iteracion: 0
15,1000,153,2919, 123, 318,180
15,2000,156,4569, 131.8, 309.6,180
15,4000,155,8663, 131.07, 313.78,180
...
...
\end{verbatim}

